# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/23 13:33 
@Author  : ZhangShenao 
@File    : 5.通用的非结构化文件加载器.py 
@Desc    : 对于不确定类型的文件,可以采用UnstructuredFileLoader加载器进行加载

UnstructuredFileLoader是所有UnstructuredXxxLoader文档加载器的基类
其核心功能是将文档划分为元素
当传递一个文件时,UnstructuredFileLoader将读取文档,将其分割为多个部分,对这些部分进行分类
然后提取每个部分的文本,然后根据模式决定是否合并(single、paged、elements)

一个UnstructuredFileLoader可以加载多种类型的文件
涵盖了:文本文件、PowerPoint文件、HTML、PDF、图像、Markdown、Excel、Word等

UnstructuredFileLoader加载器提取的metadata中只记录了source,即数据的来源,信息相对较少
所以如果能明确文件的类型,亦或者是一些高频的文件,尽可能使用更精确的文档加载器,记录的内容会更丰富

"""
from langchain_community.document_loaders import UnstructuredFileLoader

# 使用UnstructuredFileLoader加载PPT文件
loader = UnstructuredFileLoader("./docs/章节介绍.pptx")
doc = loader.load()[0]
print(f'page content: {doc.page_content}')
print(f'metadata: {doc.metadata}')
